package com.yuanshi.food.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 门店表（存储门店基础信息，手册“门店信息标准化”要求）
 * @TableName store
 */
@TableName(value ="store")
@Data
public class Store {
    /**
     * 门店ID（主键）
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 业务标识（固定42位字符串）
     */
    @TableField(value = "biz_code")
    private String bizCode;

    /**
     * 门店名称（如“元气食光深圳南山店”）
     */
    @TableField(value = "store_name")
    private String storeName;

    /**
     * 门店地址（详细地址，支持导航）
     */
    @TableField(value = "address")
    private String address;

    /**
     * 经度（精度保留6位小数）
     */
    @TableField(value = "longitude")
    private BigDecimal longitude;

    /**
     * 纬度（精度保留6位小数）
     */
    @TableField(value = "latitude")
    private BigDecimal latitude;

    /**
     * 配送范围（米，非负整数）
     */
    @TableField(value = "delivery_range")
    private Integer deliveryRange;

    /**
     * 配送费规则（JSON格式：{"3000米内":8,"每超1000米加":2}，手册“配送规则结构化”要求）
     */
    @TableField(value = "freight_rule")
    private String freightRule;

    /**
     * 起送价（元，手册“起送价明确化”要求）
     */
    @TableField(value = "min_order_amount")
    private BigDecimal minOrderAmount;

    /**
     * 营业时间（如"09:00-20:00"，手册“营业时间标准化”要求）
     */
    @TableField(value = "business_hours")
    private String businessHours;

    /**
     * 门店状态：0-停业，1-营业（枚举化状态）
     */
    @TableField(value = "store_status")
    private Object storeStatus;

    /**
     * 逻辑删除：0-未删除，1-已删除
     */
    @TableField(value = "is_deleted")
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;
}